package com.华为OD;

import java.util.Scanner;
import java.util.TreeSet;

public class t16两数和绝对值最小 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        in = new Scanner(in.nextLine());
        TreeSet<Integer> ts = new TreeSet<>();
        while (in.hasNextInt()){
            ts.add(in.nextInt());
        }
        int[]ans = new int[3];
        ans[2] = 0x7fffffff;
        ts.forEach(x->{
            Integer y1 = ts.ceiling(-x);
            Integer y2 = ts.floor(-x);
            if(y1!=null&&Math.abs(x+y1)<ans[2]){
                ans[0] = x;
                ans[1] = y1;
                ans[2] = Math.abs(x+y1);
            }
            if(y2!=null&&Math.abs(x+y2)<ans[2]){
                ans[0] = x;
                ans[1] = y2;
                ans[2] = Math.abs(x+y2);
            }
        });
        System.out.printf("%d %d %d", Math.min(ans[0],ans[1]),Math.max(ans[0],ans[1]), ans[2]);
    }
}
